package indi.cloud.common.elasticsearch;

/**
 * @author yangyifan
 * @version 1.0
 * @date 2024/1/29 15:04
 * @Description
 */
/**
 * 对ElasticSearch 索引操作
 *
 * @date: 2020/8/10 00:00
 */
public interface EsIndexService {

    /**
     * 创建索引
     *
     * @param t
     * @return
     */
    <T> boolean createIndex(Class<T> t);

    /**
     * 删除索引
     *
     * @param t
     * @return
     */
    <T> boolean deleteIndex(Class<T> t);

    /**
     * 重建索引，数据会被删除
     *
     * @param t
     * @return
     */
    <T> boolean reCreate(Class<T> t);

    /**
     * 判断索引是否存在
     *
     * @param t
     * @return
     */
    <T> boolean indexExists(Class<T> t);
}
